/* eslint-disable */
const numericRegex = /^[0-9]+$/
const integerRegex = /^\-?[0-9]+$/
const decimalRegex = /^\-?[0-9]*\.?[0-9]+$/
const positiveDecimalRegex = /^[0-9]*\.?[0-9]+$/
const positiveIntegerRegex = /^[1-9]\d*$/
const negativeDecimalRegex = /^-[0-9]*\.?[0-9]+$/
const emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/
const alphaRegex = /^[a-z]+$/i
const alphaNumericRegex = /^[a-z0-9]+$/i
const numericDashRegex = /^[\d\-\s]+$/
const urlRegex = /^((http|https):\/\/(\w+:{0,1}\w*@)?(\S+)|)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/
const dateRegex = /\d{4}-\d{1,2}-\d{1,2}/
const alphaDashRegex = /^[a-z0-9_\-]+$/i
const naturalRegex = /^[0-9]+$/i
const naturalNoZeroRegex = /^[1-9][0-9]*$/i
const charactersRegex = /[\u4E00-\u9FA5]+/
const phoneRegex = /^[1](([3][0-9])|([4][5-9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$/

export default {
  numericRegex,
  integerRegex,
  decimalRegex,
  emailRegex,
  alphaRegex,
  alphaNumericRegex,
  numericDashRegex,
  urlRegex,
  dateRegex,
  alphaDashRegex,
  naturalRegex,
  naturalNoZeroRegex,
  charactersRegex,
  positiveDecimalRegex,
  positiveIntegerRegex,
  negativeDecimalRegex,
  phoneRegex
}
